Many different types of information can be sent through a communication network such as the Internet. Such information includes, for example, streams of text (including software), images (including still and moving images) and audio information. Streams that combine different types of information, such as multimedia presentations, may be transmitted as well.
A communication network user can request an information stream directly from an information source, or “sender,” which responds to the request by sending the stream to the user. This method of sending an information stream from a single point, such as the sender, to a single point, such as the user, is called a “unicast” transmission. The sender may also “broadcast” the information stream through the communication network. A broadcast transmission is sent to routers in the communication network—even if no user downstream from a particular router is going to receive the stream.
Both unicast and broadcast transmissions, however, can be very inefficient. With a unicast transmission scheme, if the sender wishes to send information to a number of receivers, the sender must transmit a number of separate streams of information into the network, even though each stream contains exactly the same information. Moreover, each stream must be individually handled by communication nodes, or routers, in the network. Such an approach can result in an unacceptable amount of traffic in the network. A broadcast transmission can be inefficient because some routers may be tied up handling information streams even if no user downstream from a particular router receives the information, which is also inefficient.
As an alternative to a unicast or broadcast transmission, the information stream can be sent from a single point to multiple points. This method of sending information, called a “multicast” transmission, is illustrated in FIG. 1, which shows a block diagram of a known system for transmitting a multicast information stream in a communication network 200. The communication network 200 has a number of multicast capable routers 210, and the information enters the network as a single stream 202 from a source 220 to a dividing router. As the stream travels through the network, multicast capable routers divide the stream 204, 206 and send the information to downstream multicast routers and/or to locally attached interested computers 100, 230. Any user who wants to receive a particular multicast transmission, or “session,” may, for example, send a “join” message to a local multicast capable router 210.
A user interested receiving a multicast transmission may wish to receive an enhanced version of the information stream, such as a version that has a real-time transcription added to the original stream. For example, a user interested in a multicast transmission containing speech may instead want to receive an information stream that has a text version of the speech added to the stream. Such a situation could arise, for example, if the user is not able to hear the audio information because of a disability or a lack of necessary hardware.
A user interested in an information stream may also want to receive a version of the stream that has translated information added to the original stream. For example, a user interested in an information stream with English content may instead wish to receive a stream that has a Japanese version of the content, either in place of or in addition to the English version. Some users may want to have content in an information stream both transcribed and translated.
A user interested in an information stream may also want to receive a version of the stream that has additional content, related to the content in the original stream. For example, a user interested in a multicast transmission containing speech may instead want to receive an information stream that has videos and still images, related to the topics being discussed, in addition to the original stream.
The sender of a multicast transmission, however, may not know which users are receiving the stream, and therefore will not know what types of enhancements should be performed. The sender can provide the most common enhancements, such as when closed captioning information is added to a television broadcast. This effort and expense may be unnecessary if no users receiving the stream want the enhancements. Moreover, the service may still not satisfy users with less common needs.
Another way that an information stream could be enhanced is to have a user receive the original information stream, in which case the user's computer can perform an automated enhancement process. For example, it is known that a device can translate closed caption information into a different language. There are a number of problems, however, with this method of enhancing multicast information streams. For example, the user's computer may not have the hardware or software capabilities to perform the enhancement. This may be especially true if the user wishes to have the content enhanced at substantially the time the stream is received. Moreover, if the content is to be enhanced by, for example, adding video and still images related to the topic being discussed, it is not realistic to expect that every user's PC could store a meaningful library of video and images related to a wide variety of topics.
Instead of receiving an enhanced information stream in place of the original information stream, a user may want to receive both the original stream and supplemental information, such as supplemental information that contains a converted version of content in the original stream. For example, a user receiving a multicast transmission containing speech may also want to receive a text version of the speech along with the original stream. Similarly, some users may wish to receive translated versions of the multicast transmission along with the original information stream.
In view of the foregoing, it can be appreciated that a substantial need exists for a method and apparatus that enhances an information stream in the communication network and solves the problems discussed above.